Merged
Conversation
Add comprehensive Docker deployment infrastructure with reusable workflows, multi-architecture builds, and dual registry publishing. Features: - Multi-architecture Docker images (linux/amd64, linux/arm64) - Publish to GitHub Container Registry (ghcr.io) and Docker Hub (docker.io) - Reusable workflow structure for maintainability - OCI-compliant labels and annotations using docker/metadata-action - Build caching for faster builds - PR dry-run mode for testing Workflow Structure: - build-cli-docker.yml: Reusable workflow for building and publishing images - release.yml: Updated to call Docker build workflow - Digest-based multi-arch manifest creation Docker Images: - ghcr.io/techprimate/github-actions-utils-cli - docker.io/techprimate/github-actions-utils-cli Tags: - latest: Latest main branch build - v1.0.0: Specific version releases - 1.0, 1: Semantic version tags Infrastructure: - Makefile targets: build-linux, docker-build, docker-test, docker-run - .dockerignore for optimized build context - Dockerfile with buildpack-deps:bookworm base - Comprehensive documentation in README.md and AGENTS.md Requires GitHub secrets/variables: - DOCKERHUB_USERNAME (variable) - DOCKERHUB_TOKEN (secret)
359d002 to
7ed15fa
Compare
Member
Author
|
@sentry review |
There was a problem hiding this comment.
Pull Request Overview
This PR adds Docker container support to the GitHub Actions Utils CLI project, enabling deployment and distribution via Docker images published to GitHub Container Registry and Docker Hub.
- Adds Dockerfile for multi-platform container builds (linux/amd64, linux/arm64)
- Implements automated Docker image build and publish workflow via
build-cli-docker.yml - Adds Makefile targets for local Docker development and testing
Reviewed Changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| Dockerfile | New multi-platform Dockerfile using buildpack-deps:bookworm base image with architecture-specific binary selection |
| .dockerignore | Excludes unnecessary files from Docker build context while allowing Linux binaries |
| Makefile | Adds build-linux, docker-build, docker-test, and docker-run targets for Docker workflows |
| .github/workflows/build-cli-docker.yml | New reusable workflow for building and publishing multi-platform Docker images to GHCR and Docker Hub |
| .github/workflows/release.yml | Integrates Docker build into release pipeline with pull request dry-run support |
| README.md | Documents Docker installation, usage, and development workflows |
| AGENTS.md | Documents Docker deployment details, image registries, and publishing process |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Docker Deployment with Multi-Registry Support
This PR adds comprehensive Docker deployment infrastructure with multi-architecture builds and dual registry publishing.
Features
Multi-Architecture Support
linux/amd64,linux/arm64Dual Registry Publishing
ghcr.io/techprimate/github-actions-utils-clidocker.io/techprimate/github-actions-utils-cliModern Metadata Management
docker/metadata-action@v5Workflow Structure
build-cli-docker.ymlfor maintainabilityWhat's Included
New Files
.dockerignore- Optimized build contextDockerfile- Multi-stage build withbuildpack-deps:bookworm.github/workflows/build-cli-docker.yml- Reusable Docker build workflowUpdated Files
.github/workflows/release.yml- Integrated Docker build workflowMakefile- New Docker targets (build-linux, docker-build, docker-test, docker-run)README.md- Docker usage instructions and examplesAGENTS.md- Complete Docker deployment documentationDocker Images
Registries
Available Tags
latest- Latest main branch buildv1.0.0- Specific version releases1.0- Major.minor version1- Major versionImage Details
buildpack-deps:bookworm(~200MB)/usr/local/bin/github-actions-utils-cliUsage Examples
MCP Client Configuration
{ "mcpServers": { "github-actions-utils": { "command": "docker", "args": [ "run", "-i", "--rm", "ghcr.io/techprimate/github-actions-utils-cli:latest", "mcp" ] } } }Local Development
Required Configuration
To enable Docker Hub publishing, add the following to repository settings:
Variables
DOCKERHUB_USERNAME- Docker Hub usernameSecrets
DOCKERHUB_TOKEN- Docker Hub access tokenWorkflow Behavior
On Main Branch Push
latestOn Version Tag (e.g., v1.0.0)
On Pull Request
Benefits
Testing
The workflow includes comprehensive testing:
Related: Closes any Docker deployment issues (if applicable)